package com.wms.common.enums;

import com.wms.common.constant.Constant;

import java.util.ArrayList;
import java.util.List;

public enum TaskTemplateEnum {
//    TEMPLATE_1("成套下线任务模板", "成套下线任务模板", TEMPLATE_1_PASSING_THROUGH_POINTS),
////    TEMPLATE_1("001", "成套下线任务模板", Constant.TEMPLATE_1_PASSING_THROUGH_POINTS),
//    TEMPLATE_2("主驾单独下线任务模板", "主驾单独下线任务模板", Constant.TEMPLATE_2_PASSING_THROUGH_POINTS),
//    TEMPLATE_3("副驾单独下线任务模板", "副驾单独下线任务模板", Constant.TEMPLATE_3_PASSING_THROUGH_POINTS),
//    TEMPLATE_4("主驾返修任务模板", "主驾返修任务模板", Constant.TEMPLATE_4_PASSING_THROUGH_POINTS),
//    TEMPLATE_5("副驾返修任务模板", "副驾返修任务模板", Constant.TEMPLATE_5_PASSING_THROUGH_POINTS),
//    TEMPLATE_6("已经接完主驾或者副驾后,单独下线并入库任务模板", "已经接完主驾或者副驾后,单独下线并入库任务模板", Constant.TEMPLATE_6_PASSING_THROUGH_POINTS),
//    TEMPLATE_7("提升机点位入库模板", "提升机点位入库模板", Constant.TEMPLATE_7_PASSING_THROUGH_POINTS),
//    TEMPLATE_8("穿梭车出库模板", "穿梭车出库模板", Constant.TEMPLATE_8_PASSING_THROUGH_POINTS),
//    TEMPLATE_9("提升机点位出库模板", "提升机点位出库模板", Constant.TEMPLATE_9_PASSING_THROUGH_POINTS);
//

    TEMPLATE_1("成套下线任务模板", "成套下线任务模板", List.of(Constant.ZJ_PORT_1,
            Constant.FJ_PORT_1,
            Constant.F13,
            Constant.F03_001,
            Constant.F03_002,
            Constant.F21,
            Constant.XZY)),
    //    TEMPLATE_1("001", "成套下线任务模板", Constant.TEMPLATE_1_PASSING_THROUGH_POINTS),
    TEMPLATE_2("主驾单独下线任务模板", "主驾单独下线任务模板", List.of(Constant.ZJ_PORT_1)),
    TEMPLATE_3("副驾单独下线任务模板", "副驾单独下线任务模板", List.of(Constant.FJ_PORT_1)),
    TEMPLATE_4("主驾返修任务模板", "主驾返修任务模板", List.of(Constant.REPAIR_OUT_POINT, Constant.REPAIR_POINT, Constant.ZJ_PORT_1)),
    TEMPLATE_5("副驾返修任务模板", "副驾返修任务模板", List.of(Constant.REPAIR_OUT_POINT, Constant.REPAIR_POINT, Constant.ZJ_PORT_2, Constant.FJ_PORT_1)),
    TEMPLATE_6("已经接完主驾或者副驾后,单独下线并入库任务模板", "已经接完主驾或者副驾后,单独下线并入库任务模板", List.of(Constant.F13, Constant.F03_001, Constant.F03_002, Constant.F21, Constant.XZY)),
    TEMPLATE_7("提升机点位入库模板", "提升机点位入库模板", List.of(Constant.F21, Constant.XZY)),
    TEMPLATE_8("穿梭车出库模板", "穿梭车出库模板", new ArrayList<>()),
    TEMPLATE_9("提升机点位出库模板", "提升机点位出库模板", List.of(Constant.F04_001, Constant.F04_002)),
    TEMPLATE_10("后排返修出库模板", "后排返修出库模板", new ArrayList<>());


    final String templateCode;
    final String templateName;
    final List<String> passingThroughPoints;

//    public static final List<String> TEMPLATE_1_PASSING_THROUGH_POINTS =
//            List.of(Constant.ZJ_PORT_1,
//                    Constant.FJ_PORT_1,
//                    Constant.F13,
//                    Constant.F03_001,
//                    Constant.F03_002,
//                    Constant.F21,
//                    Constant.XZY);
//
//    /**
//     * 主驾单独下线任务模板
//     */
//    public final List<String> TEMPLATE_2_PASSING_THROUGH_POINTS = List.of(Constant.ZJ_PORT_1);
//
//    /**
//     * 副驾单独下线任务模板
//     */
//    public final List<String> TEMPLATE_3_PASSING_THROUGH_POINTS = List.of(Constant.FJ_PORT_1);
//
//    /**
//     * 主驾返修任务模板
//     */
//    public final List<String> TEMPLATE_4_PASSING_THROUGH_POINTS = List.of(Constant.REPAIR_OUT_POINT, Constant.REPAIR_POINT, Constant.ZJ_PORT_1);
//    /**
//     * 副驾返修任务模板
//     */
//    public final List<String> TEMPLATE_5_PASSING_THROUGH_POINTS = List.of(Constant.REPAIR_OUT_POINT, Constant.REPAIR_POINT, Constant.ZJ_PORT_2, Constant.FJ_PORT_1);
//    /**
//     * 下线入库模板
//     */
//    public final List<String> TEMPLATE_6_PASSING_THROUGH_POINTS = List.of(Constant.F13, Constant.F03_001, Constant.F03_002, Constant.F21, Constant.XZY);
//
//    /**
//     * 提升机入库模板
//     */
//    public final List<String> TEMPLATE_7_PASSING_THROUGH_POINTS = List.of(Constant.F21, Constant.XZY);
//    public final List<String> TEMPLATE_8_PASSING_THROUGH_POINTS = new ArrayList<>();
//    public final List<String> TEMPLATE_9_PASSING_THROUGH_POINTS = List.of(Constant.F04_001, Constant.F04_002);
//
//    /**
//     * 入库开始 到 提升机之前的点
//     */
//    public final List<String> LOADING_FRONT_POINT = List.of(Constant.START_PORT, Constant.ZJ_PORT_1, Constant.ZJ_PORT_2, Constant.FJ_PORT_1, Constant.FJ_PORT_2);


    TaskTemplateEnum(String templateCode, String templateName, List<String> passingThroughPoints) {
        this.templateCode = templateCode;
        this.templateName = templateName;
        this.passingThroughPoints = passingThroughPoints;
    }

    public String getTemplateCode() {
        return templateCode;
    }

    public String getTemplateName() {
        return templateName;
    }

    public List<String> getPassingThroughPoints() {
        return passingThroughPoints;
    }
}

